package com.pc.utils;

/**
 * @author 李林雨
 * @createTime 2023/6/24 13:02
 * @description
 */


import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @author 李林雨
 * @createTime 2023/6/23 12:13
 * @description
 */

@Component
public class ScheduledTask {
    //调用接口
//   @Resource
//   private OrderService orderService;


//    @Scheduled(cron = "0 */1 * * * ?") //每分钟执行一次，扫描有没有超时得
//    public void scheduledTaskByFixedDelay()  {
//        Date date = new Date();
//        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
//        System.out.println("订单超时定时任务开始 ByFixedDelay：" +formatter.format(date) );
//        scheduledTask();
//    }
    //每小时执行一次
//    @Scheduled(cron = "0 */60 * * * ?") //每60分钟执行一次，扫描有没有超时得
//    public void TaskHour()  {
//        Date date = new Date();
//        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
//        System.out.println("订单正常送达，自动支付，定时任务开始 TaskHour：" +formatter.format(date) );
//        FinshedOrder();
//    }
    //每分钟超时
//    private void scheduledTask() {
//        //获取当前时间查询表
//        Date date = new Date();
//        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
//
//        List<Orders1> orders = orderService.getAllFinshingOrder();
//        for (int i = 0; i < orders.size(); i++) {
//            Date createTime = orders.get(i).getCreateTime();
//            long min = DateUtil.between(createTime, date, DateUnit.MINUTE);
////            System.out.println(orders.get(i).getFoodname()+ createTime+" ,"+date+ "几分钟"+min);
//            if (min>60){//自动退单
//                orders.get(i).setOrderstatus("超时");
//                orderService.putOrder(orders.get(i));
//            }else if (min>50){
//                //惩罚骑手,订单状态已完成
//                orders.get(i).setOrderstatus("自动退单");
//                orders.get(i).setStatus(2);
//                orderService.putOrder(orders.get(i));
//            }
//        }
//    }

    //每分钟检测骑手正常送达的 2小时候自动支付
//    private void FinshedOrder(){
//        List<Orders1> orders = orderService.getAllCommonOrders();
//        for (int i = 0; i < orders.size(); i++) {
//            Date createTime = orders.get(i).getCreateTime();
//            Date date = new Date();
//            long min = DateUtil.between(createTime, date, DateUnit.MINUTE);
//            if (min>120){
//                Date date1 = new Date();
//                orders.get(i).setPayTime(date1);
//                orders.get(i).setOrderstatus("正常支付");
//                orderService.putOrder(orders.get(i));
//            }
//        }
//    }
}